The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
Analog sensors are often used in control systems to sense various parameters of a system. For example, vehicle systems monitor parameters such as but not limited to exhaust temperature, throttle position, fluid or air pressures, etc. Signals generated by these analog sensors are typically output to an analog to digital (A/D) converter, which converts the analog signal to a digital value. The A/D converters typically have a predetermined latency between the sensor output and the corresponding digital representation.
Recently developed protocols such as Single Edge Nibble Transmission (SENT) protocol (for example as described in S.A.E. J2716, which is hereby incorporated by reference in its entirety) have been proposed for use in vehicles. In these systems, digital sensors output a calibration pulse and a sensor signal. The sensor signal is a variable pulse width digital signal, which includes a series of pulses with data measured as falling edge to falling edge times. As a result, the amount of time required to transmit the sensor signal depends upon the actual sensor value that is measured. In addition to this variable latency, additional variable latency may occur due to processing delays.
For example, some vehicles sample throttle position every T ms for electronic throttle control (ETC) purposes. There is a variable time delay from the time that the sensors are read until the T ms loop starts in the central processing unit (CPU) or engine control module (ECM). The last complete sample is obtained from the interface when the CPU or ECM makes a request. As a result, there can be a variable delay in reporting of the throttle position to the application software in the CPU or ECM from the time that the sensors are actually read. It may take a first delay period between complete transmissions from the sensor to the CPU or ECM via the SENT protocol. While the application is reading the hardware interface, another sampling may be in progress, which may add a second delay period. The delay will be variable because the data is transmitted to the CPU or ECM asynchronous to any time-based or event-based software loops.